home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
rjs.lha
/
RJS
/
String
/
src
/
match.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-06-14
|
1KB
|
67 lines
#include "String.h"
RJS_SubString RJS_String::match(char ch)
{
int dummy;
return match(ch,dummy);
}
RJS_SubString RJS_String::match(char ch,int &pos)
{
if (*cptr() != ch) { pos= -1; return substr(-1,0); }
else { pos=0; return substr(1); }
}
RJS_SubString RJS_String::match(const char *s)
{
int dummy;
return match(s,dummy);
}
RJS_SubString RJS_String::match(const char *s,int &pos)
{
int slen=RJS_String::length(s);
if (substr(0,slen)==s) { pos=0; return substr(slen); }
else { pos= -1; return substr(-1,0); }
}
RJS_SubString RJS_String::match(RJS_String &s)
{
int dummy;
return match(s,dummy);
}
RJS_SubString RJS_String::match(RJS_String &s,int &pos)
{
if (substr(0,s.length())==s) { pos=0; return substr(s.length()); }
else { pos = -1; return substr(-1,0); }
}
RJS_SubString RJS_String::match(const RJS_StringSearch &ss)
{
int dpos,dlen;
return match(ss,dpos,dlen);
}
RJS_SubString RJS_String::match(const RJS_StringSearch &ss,int &pos, int &len)
{
pos=ss.search(*this,len);
if (pos!=0) { pos = -1; return substr(-1,0); }
else return substr(len);
}
RJS_SubString RJS_String::match(const RJS_StringSearch &ss, RJS_String &matched)
{
int dpos,dlen;
return match(ss,matched,dpos,dlen);
}
RJS_SubString RJS_String::match(const RJS_StringSearch &ss, RJS_String &matched, int &pos, int &len)
{
pos=ss.search(*this,len);
if (pos!=0) { matched=""; return substr(-1,0); }
else { matched=substr(0,len); return substr(len); }
}